package com.baox.agridata.synchronous.dao;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baox.agridata.synchronous.entity.TUSERAHIAgency;
import com.baox.agridata.synchronous.entity.TUSERAHIUserEX;
import com.baox.agridata.synchronous.entity.TUSERAHIUserPermission;
import com.baox.agridata.synchronous.entity.Users;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface TUSERAHIAgencyMapper {
    /**
     * 添加机构
     * @param tuserahiAgency
     */
    @DS("sichuanz")
    void insertTUSERAHIAgency(TUSERAHIAgency tuserahiAgency);

    /**
     * 查询机构是否存在
     * @param mid
     * @return
     */
    @DS("sichuanc")
    Integer selectAgencyByMid(@Param("mid") String mid);

    /**
     * 修改已存在机构
     * @param tuserahiAgency
     */
    @DS("sichuanz")
    void updateAgencyByMid(TUSERAHIAgency tuserahiAgency);

    /**
     * 添加用户
     * @param users
     */
    @DS("sichuanz")
    void insertUsers(Users users);

    /**
     * 验证用户是否存在
     * @param mobile
     * @return
     */
    @DS("sichuanc")
    Integer selectUsers(@Param("mobile") String mobile);

    /**
     * 修改已存在用户信息
     * @param users
     */
    @DS("sichuanz")
    void updateUsers(Users users);

    /**
     * 查询用户扩展信息
     * @param mid
     * @return
     */
    @DS("sichuanc")
    Integer selectUserEx(@Param("mid") String mid);

    /**
     * 添加用户扩展信息
     * @param tuserahiUserEX
     */
    @DS("sichuanz")
    void insertUserEx(TUSERAHIUserEX tuserahiUserEX);

    /**
     * 修改用扩展信息
     * @param tuserahiUserEX
     */
    @DS("sichuanz")
    void updateUserEx(TUSERAHIUserEX tuserahiUserEX);

    /**
     * 对于新增机构人员根据手机号获取userId
     * @param tel
     * @return
     */
    @DS("sichuanc")
    String selectUsersFanUserId(@Param("tel") String tel);

    /**
     * 增加扩展与用户绑定关系
     * @param userId
     * @param userExMid
     */
    @DS("sichuanz")
    void insertUserDepDate(@Param("userId")String userId, @Param("userExMid")String userExMid);

    /**
     * 查看是否存在权限
     * @param mid
     * @return
     */
    @DS("sichuanc")
    Integer selectUserPer(@Param("mid")String mid);

    /**
     * 添加用户权限
     * @param tuserahiUserPermission
     */
    @DS("sichuanz")
    void insertUserAhiUserPermission(TUSERAHIUserPermission tuserahiUserPermission);


    /**
     * 修改权限表信息
     * @param tuserahiUserPermission
     */
    @DS("sichuanz")
    void updateUserPer(TUSERAHIUserPermission tuserahiUserPermission);


    @DS("sichuanc")
    Integer selectUserDep(@Param("userId")String userId);



    @DS("sichuanz")
    void updateUserDep(@Param("userId")String userId, @Param("userExMid") String mid);
}
